import request from "@/config/axios";

export interface ConfigVO {
    id: number | undefined;
    category: string;
    name: string;
    key: string;
    value: string;
    type: number;
    visible: boolean;
    remark: string;
    createTime: Date;
}

// 查询参数列表
export const getConfigPage = (params: PageParam) => {
    return request.get({ url: "/infra/config/page", params });
};

// 查询参数详情
export const getConfig = (id: number) => {
    return request.get({ url: "/infra/config/get?id=" + id });
};

// 根据参数键名查询参数值
export const getConfigKey = (configKey: string) => {
    return request.get({ url: "/infra/config/get-value-by-key?key=" + configKey });
};

// 新增参数
export const createConfig = (data: ConfigVO) => {
    return request.post({ url: "/infra/config/create", data });
};

// 修改参数
export const updateConfig = (data: ConfigVO) => {
    return request.put({ url: "/infra/config/update", data });
};

// 删除参数
export const deleteConfig = (id: number) => {
    return request.delete({ url: "/infra/config/delete?id=" + id });
};

// 导出参数
export const exportConfig = (params) => {
    return request.download({ url: "/infra/config/export", params });
};
